The present invention generally relates to software and firmware, i.e., software embedded on a system, and more particularly to software and firmware for preventing multiple access of datagram-based control protocols.
Scanning peripherals, i.e., scanners, are becoming a larger portion of the peripheral industry. Users find such peripherals useful as a means of input for text, graphics and images. Many software applications now permit manipulation and use of such data. Some scanners utilize out-of-band control, such as multifunction peripheral data transfer format (MFPDTF) to control functions of the peripheral. For out-of-band control, the control commands are transmitted outside the data channel on a separate channel. Conversely, other scanners utilize in-band control, such as scanner control language (SCL). In-band scan control is accomplished via a set of in-band commands that are imbedded within the scan data stream.
Since scan data is both lengthy and contiguous, it is sensible to transmit the data using a connection-oriented protocol, such as transmission control protocol/Internet protocol (TCP/IP) or sequenced packet exchange (SPX) protocol. Unlike scan data, control data is typically comprised of a series of short request-response transactions. Thus, for a scanner with out-of-band control, it is sensible to eliminate overhead associated with establishing and terminating a connection with the scanner by using a connectionless protocols, such as simple network management protocol (SNMP), user datagram protocol (UDP), and internetwork packet exchange (IPX), for control commands.
A problem exists, however, when using a connectionless protocol for the out-of-band controlled scanners. When scanners and other peripheral devices are attached to a network, multiple clients can access the devices. Since multiple clients can access the scanning peripheral on a network, potential contention problems occur. Scanners, for example, ordinarily require setup before starting an actual scan. Contention occurs when one client sends commands to set the scanner resolution, page size, and other options in preparation for starting a scan, and at the same time another client issues similar commands to the same scanner. When the first client finally opens a data connection to start the scan job, some of the desired scan options may already have been overwritten by the second client. Nothing inherently exists in a connectionless protocol to prevent such overwriting. Similarly, one client can send commands to reset the scanner while another client""s scan is in progress, and effectively abort the other client""s scan job.
An object of the present invention is to provide an improved server method that utilizes a connectionless protocol for control data and a connection oriented protocol for scan data.
Another object of the present invention is to provide an improved server method that uses a connection oriented protocol to grant access to objects referenced by a connectionless protocol.
Yet another object of the present invention is to provide an improved method apparatus that handles network contention.